// 生产计划 详情

<template>
  <view style="position: relative" class="page">
    <mes-tip
      type="examine"
      v-if="mesFormTop.row.examine_status == '1'"
    ></mes-tip>
    <mes-form :mesForm="mesFormTop"></mes-form>
    <mes-goods
      ref="mesGoodsRef"
      @edit="editGoods"
      :showDel="false"
      :form="mesGoodsForm"
    ></mes-goods>
    <mes-form :mesForm="mesFormBottom"></mes-form>
    <mes-button :type="3" :form="buttonForm"></mes-button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      id: '',
      // 商品
      mesGoodsForm: {
        numberUnitField: 'unit_name', //数量单位
        priceField: 'purchase' //单价
      },
      mesFormTop: {
        // 表单数据
        row: {
          // examine_status:'',
          // purchase_code: '',
          // purchase_time: '',
          // delivery_time: '',
          // workshop_id: '',
          // workshop_name: ''
        },
        // 渲染数据
        items: [
          {
            title: '计划单号',
            // 右侧组件
            slots: {
              // 绑定表单数据中的属性
              field: 'purchase_code'
            }
          },
          {
            title: '单据日期',
            // type 不传默认为普通文字
            slots: {
              field: 'purchase_time'
            }
          },
          {
            title: '交货时间',
            // type 不传默认为普通文字
            slots: {
              field: 'delivery_time'
            }
          },
          {
            title: '车间',
            // 右侧组件
            slots: {
              // 绑定表单数据中的属性
              field: 'workshop_name'
            }
          }
        ]
      },
      mesFormBottom: {
        // 距离顶部距离
        top: 20,
        // 表单数据
        row: {
          // remark: ''
        },
        // 渲染数据
        items: [
          {
            title: '备注',
            // 右侧组件
            slots: {
              // 绑定表单数据中的属性
              field: 'remark'
            }
          }
        ]
      },
      buttonForm: {
        leftText: '删除',
        rightText: '编辑',
        leftEvent: () => {
          if (this.mesFormTop.row.examine_status == '1') {
            return uni.showToast({
              title: '不能删除已审核单据',
              icon: 'none'
            })
          }
          uni.showModal({
            title: '提示',
            content: '是否确认删除？',
            success: async ({ confirm }) => {
              if (confirm) {
                const res = await this.$api.prod.plan.del({
                  id: this.id
                })
                if (res.code == 200) this.$tools.successBack(res.msg)
              }
            }
          })
        },
        rightEvent: () => {
          if (this.mesFormTop.row.examine_status == '1') {
            return uni.showToast({
              title: '不能编辑已审核单据',
              icon: 'none'
            })
          }
          // 编辑
          uni.navigateTo({
            url: `/pages/home/prod_plan/add?id=${this.id}`
          })
        }
      }
    }
  },
  onLoad(options) {
    // 编辑
    let id = options.id
    if (id) {
      this.id = id
    }
  },
  onShow() {
    if (this.id) this.getDetail()
  },
  methods: {
    // 点击编辑商品
    editGoods(i) {
      let item = getApp().globalData.goods.list[i]
      uni.navigateTo({ url: `/pages/home/prod_plan/goodsDetail?index=${i}` })
    },
    // 获取详情（编辑）
    getDetail() {
      this.$api.prod.plan
        .getdetail({ id: this.id })
        .then((res) => {
          if (res.code == 200) {
            let info_list = []
            if (res.data.info_list && res.data.info_list.length) {
              res.data.info_list.forEach((item) => {
                info_list.push({
                  // 编辑商品用到的（提交参数）
                  // 商品编号（商品详情获取或者通用->商品价格接口获取）
                  goods_code: item.goods_code,
                  //  商品规格型号
                  goods_note: item.goods_note,
                  //  商品单位ID（资料->商品获取商品单位列表，用户选择）
                  goods_unit: item.unit_id,
                  //  数量（默认为1，用户修改）
                  number: item.number,
                  //  基本单位ID（商品详情获取或者通用->商品价格接口获取）
                  default_unit: item.default_unit,
                  //  基本数量（默认为1，多单位时需要换算，或者通过通用->价格变动接口格式化）
                  basic_nmber: item.basic_nmber,
                  //  商品单价（通用->商品价格获取）
                  purchase: item.purchase,
                  //  金额
                  money: item.money,
                  // 编辑商品用到的（展示参数）
                  default_unit_name: item.default_unit_name, //基本单位名称
                  // goods_name: item.goods_name //商品名称
                  // unit_name: item.unit_name, //商品单位

                  // mes-goods显示中用到的
                  unit_name: item.unit_name, //数量单位
                  goods_image: item.goods_image, //图片
                  goods_name: item.goods_name //商品名称
                  // goods_code: item.goods_code //商品编号
                  // purchase: item.purchase, //单价
                  // number: item.number //数量
                })
              })
            }
            getApp().globalData.goods.list = info_list
            this.$refs.mesGoodsRef.getGoods()
            this.mesFormTop.row = {
              purchase_code: res.data.purchase_code,
              purchase_time: res.data.purchase_time,
              delivery_time: res.data.delivery_time,
              workshop_id: res.data.workshop_id,
              workshop_name: res.data.workshop_name,
              examine_status: res.data.examine_status
            }
            this.mesFormBottom.row = {
              remark: res.data.remark
            }
          }
        })
        .catch()
    }
  }
}
</script>

<style lang="less" scoped>
.page {
  padding-bottom: 200rpx;
}
</style>
